#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int K;
int const Limit = 100;
void masyvoModifikavimas(int dydis, int skaicius, int Masyvas[dydis][dydis]);
int maziausiasEiluteje(int dydis, int eilutesNr, int Masyvas[dydis][dydis]);


void uzpildykMasyva(int n, int mas[][n])
{
    int i, j;
    time_t t;
    srand((unsigned) time(&t));
    for (i = 0; i < n; i++)
    {
      for (j = 0; j < n; j++)
      {
        mas[i][j] = rand()%Limit;
      }
    }
}

void spausdinkMasyva(int n, int mas[][n])
{
    int i, j;
    for (i = 0; i < n; i++)
    {
      for (j = 0; j < n; j++)
      {
        printf("%4d", mas[i][j]);
      }
      printf("\n");
    }
    printf("\n");
}

int main()
 {
 int maziausiasPirmos, maziausiasPaskutines, maziausiasBendras;
  printf("Iveskite dvimacio masyvo dydi: ");
  scanf("%d", &K);
  int mas[K][K];
  uzpildykMasyva(K, mas);
 spausdinkMasyva(K, mas);
    maziausiasPirmos = maziausiasEiluteje(K, 0, mas);
  maziausiasPaskutines = maziausiasEiluteje(K, K - 1, mas);
  maziausiasBendras = maziausiasPirmos < maziausiasPaskutines
                          ? maziausiasPirmos
                          : maziausiasPaskutines;
    printf("Pirmos ir paskutines eilutes maziausias skaicius: %d\n",
         maziausiasBendras);

  printf("Modifikuoto masyvo skaiciai:\n");
  masyvoModifikavimas(K, maziausiasBendras, mas);
    spausdinkMasyva(K, mas);
 	return 0;
}

void masyvoModifikavimas(int dydis, int skaicius, int mas[dydis][dydis]) {
  for (int i = 0; i < dydis; i++) {
    for (int j = 0; j < dydis; j++) {
      if (mas[i][j] % 2)
        continue;
      mas[i][j] = skaicius;
    }
  }
}

int maziausiasEiluteje(int dydis, int eilutesNr, int mas[dydis][dydis]) {
  int mazEilutei = mas[0][eilutesNr];
  for (int i = 1; i < dydis; i++) {
    if (mazEilutei > mas[i][eilutesNr]) {
      mazEilutei = mas[i][eilutesNr];
    }
  }
  return mazEilutei;
}

